package com.weibo4j.api.req.comment;

import com.weibo4j.api.WeiboRequest;
import com.weibo4j.api.annotation.Param;
import com.weibo4j.api.response.comment.CommentsGetResponse;
import com.weibo4j.api.util.RequestType;

public class CommentsGetRequest extends WeiboRequest<CommentsGetResponse>{
    
    private Long id;
    
    private Long sinceId;
    
    private Long maxId;
    
    private Integer count;
    
    private Integer page;
    
    private Integer filterByAuthor;
    

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Param("since_id")
    public Long getSinceId() {
        return sinceId;
    }

    public void setSinceId(Long sinceId) {
        this.sinceId = sinceId;
    }

    @Param("max_id")
    public Long getMaxId() {
        return maxId;
    }

    public void setMaxId(Long maxId) {
        this.maxId = maxId;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    @Param("filter_by_author")
    public Integer getFilterByAuthor() {
        return filterByAuthor;
    }

    public void setFilterByAuthor(Integer filterByAuthor) {
        this.filterByAuthor = filterByAuthor;
    }

    @Override
    public RequestType requestType() {
        return RequestType.GET;
    }

    @Override
    public String baseUrl() {
        return "https://api.weibo.com/2/comments/show.json";
    }

    @Override
    public Class<CommentsGetResponse> responseType() {
        return CommentsGetResponse.class;
    }

}
